package com.token.sysorg.bean;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import com.token.sql.IntegrateSql;
import com.token.sql.AbstractTableBean;
/**
 * 组织架构_部门
 * @author 代码创建
 */
public class FSysDepartment extends AbstractTableBean {

	private int SysId; //租户ID
	private String SysAddTime; //创建时间
	private String SysAddUser; //创建人
	private String SysEditTime; //修改时间
	private String SysEditUser; //修改人
	private String ParentDeptID; //上级ID
	private String DepartmentNumber; //部门编号
	private String DepartmentName; //部门名称
	private String ComID; //所属公司编号
	private String LeaderID; //领导ID
	private String LeaderName; //领导名称
	private String ManagerID; //管理者ID
	private String ManagerName; //管理者名称
	private String InChargeLeaderID; //分管领导ID
	private String InChargeLeaderName; //分管领导名称

	public static String TABLE_NAME = "F_Sys_Department";
	public static String TABLEKEY_NAME = "DeptID";
	public FSysDepartment (IntegrateSql f){
		super(f,TABLE_NAME);
		this.setKeyName(TABLEKEY_NAME);
	}

	public FSysDepartment (IntegrateSql f,ResultSet rs) throws SQLException{
		super(f,TABLE_NAME);
		this.setKeyName(TABLEKEY_NAME);
		this.initParamToRs(rs);
	}

	public FSysDepartment (IntegrateSql f,String keyValue) throws SQLException{
		super(f,TABLE_NAME);
		this.setKeyName(TABLEKEY_NAME);
		setCodePrepare(selectCodeById().toString());
		prepareSql.setPstValue(1, keyValue);
		ResultSet rs = executeQuery();
		if(rs.next()){
			initParamToRs(rs);
		}else{
			initParam();
		}
		rs.close();
	}

	@Override
	protected void initParam() {
		SysId = 0; //租户ID
		SysAddTime = ""; //创建时间
		SysAddUser = ""; //创建人
		SysEditTime = ""; //修改时间
		SysEditUser = ""; //修改人
		ParentDeptID = ""; //上级ID
		DepartmentNumber = ""; //部门编号
		DepartmentName = ""; //部门名称
		ComID = ""; //所属公司编号
		LeaderID = ""; //领导ID
		LeaderName = ""; //领导名称
		ManagerID = ""; //管理者ID
		ManagerName = ""; //管理者名称
		InChargeLeaderID = ""; //分管领导ID
		InChargeLeaderName = ""; //分管领导名称
	}


	public void initParamToRs(ResultSet rs) throws SQLException{
		SysId = rs.getInt("SysId"); //租户ID
		SysAddTime = rs.getString("SysAddTime"); //创建时间
		SysAddUser = rs.getString("SysAddUser"); //创建人
		SysEditTime = rs.getString("SysEditTime"); //修改时间
		SysEditUser = rs.getString("SysEditUser"); //修改人
		ParentDeptID = rs.getString("ParentDeptID"); //上级ID
		DepartmentNumber = rs.getString("DepartmentNumber"); //部门编号
		DepartmentName = rs.getString("DepartmentName"); //部门名称
		ComID = rs.getString("ComID"); //所属公司编号
		LeaderID = rs.getString("LeaderID"); //领导ID
		LeaderName = rs.getString("LeaderName"); //领导名称
		ManagerID = rs.getString("ManagerID"); //管理者ID
		ManagerName = rs.getString("ManagerName"); //管理者名称
		InChargeLeaderID = rs.getString("InChargeLeaderID"); //分管领导ID
		InChargeLeaderName = rs.getString("InChargeLeaderName"); //分管领导名称
		this.setKeyId(rs.getString("DeptID"));
	}


	@Override
	protected int appendData() throws SQLException {
		int i = 1;
		prepareSql.setPstValue(i++,SysId); //租户ID
		prepareSql.setPstValue(i++,SysAddTime); //创建时间
		prepareSql.setPstValue(i++,SysAddUser); //创建人
		prepareSql.setPstValue(i++,SysEditTime); //修改时间
		prepareSql.setPstValue(i++,SysEditUser); //修改人
		prepareSql.setPstValue(i++,ParentDeptID); //上级ID
		prepareSql.setPstValue(i++,DepartmentNumber); //部门编号
		prepareSql.setPstValue(i++,DepartmentName); //部门名称
		prepareSql.setPstValue(i++,ComID); //所属公司编号
		prepareSql.setPstValue(i++,LeaderID); //领导ID
		prepareSql.setPstValue(i++,LeaderName); //领导名称
		prepareSql.setPstValue(i++,ManagerID); //管理者ID
		prepareSql.setPstValue(i++,ManagerName); //管理者名称
		prepareSql.setPstValue(i++,InChargeLeaderID); //分管领导ID
		prepareSql.setPstValue(i++,InChargeLeaderName); //分管领导名称
		return i;
	}


	@Override
	public Vector<String> getFields() {
		Vector<String> vec = new Vector<String>();
		vec.addElement("SysId"); //租户ID
		vec.addElement("SysAddTime"); //创建时间
		vec.addElement("SysAddUser"); //创建人
		vec.addElement("SysEditTime"); //修改时间
		vec.addElement("SysEditUser"); //修改人
		vec.addElement("ParentDeptID"); //上级ID
		vec.addElement("DepartmentNumber"); //部门编号
		vec.addElement("DepartmentName"); //部门名称
		vec.addElement("ComID"); //所属公司编号
		vec.addElement("LeaderID"); //领导ID
		vec.addElement("LeaderName"); //领导名称
		vec.addElement("ManagerID"); //管理者ID
		vec.addElement("ManagerName"); //管理者名称
		vec.addElement("InChargeLeaderID"); //分管领导ID
		vec.addElement("InChargeLeaderName"); //分管领导名称
		return vec;
	}


	/**
	 * 设置租户ID
	 * @param sysid
	 */
	public void setSysId(int sysid){
		SysId = sysid;
	}
	/**
	 * 获取SysId
	 * @return 租户ID
	 */
	public int getSysId(){
		return SysId;
	}

	/**
	 * 设置创建时间
	 * @param sysaddtime
	 */
	public void setSysAddTime(String sysaddtime){
		SysAddTime = sysaddtime;
	}
	/**
	 * 获取SysAddTime
	 * @return 创建时间
	 */
	public String getSysAddTime(){
		return SysAddTime;
	}

	/**
	 * 设置创建人
	 * @param sysadduser
	 */
	public void setSysAddUser(String sysadduser){
		SysAddUser = sysadduser;
	}
	/**
	 * 获取SysAddUser
	 * @return 创建人
	 */
	public String getSysAddUser(){
		return SysAddUser;
	}

	/**
	 * 设置修改时间
	 * @param sysedittime
	 */
	public void setSysEditTime(String sysedittime){
		SysEditTime = sysedittime;
	}
	/**
	 * 获取SysEditTime
	 * @return 修改时间
	 */
	public String getSysEditTime(){
		return SysEditTime;
	}

	/**
	 * 设置修改人
	 * @param sysedituser
	 */
	public void setSysEditUser(String sysedituser){
		SysEditUser = sysedituser;
	}
	/**
	 * 获取SysEditUser
	 * @return 修改人
	 */
	public String getSysEditUser(){
		return SysEditUser;
	}

	/**
	 * 设置上级ID
	 * @param parentdeptid
	 */
	public void setParentDeptID(String parentdeptid){
		ParentDeptID = parentdeptid;
	}
	/**
	 * 获取ParentDeptID
	 * @return 上级ID
	 */
	public String getParentDeptID(){
		return ParentDeptID;
	}

	/**
	 * 设置部门编号
	 * @param departmentnumber
	 */
	public void setDepartmentNumber(String departmentnumber){
		DepartmentNumber = departmentnumber;
	}
	/**
	 * 获取DepartmentNumber
	 * @return 部门编号
	 */
	public String getDepartmentNumber(){
		return DepartmentNumber;
	}

	/**
	 * 设置部门名称
	 * @param departmentname
	 */
	public void setDepartmentName(String departmentname){
		DepartmentName = departmentname;
	}
	/**
	 * 获取DepartmentName
	 * @return 部门名称
	 */
	public String getDepartmentName(){
		return DepartmentName;
	}

	/**
	 * 设置所属公司编号
	 * @param comid
	 */
	public void setComID(String comid){
		ComID = comid;
	}
	/**
	 * 获取ComID
	 * @return 所属公司编号
	 */
	public String getComID(){
		return ComID;
	}

	/**
	 * 设置领导ID
	 * @param leaderid
	 */
	public void setLeaderID(String leaderid){
		LeaderID = leaderid;
	}
	/**
	 * 获取LeaderID
	 * @return 领导ID
	 */
	public String getLeaderID(){
		return LeaderID;
	}

	/**
	 * 设置领导名称
	 * @param leadername
	 */
	public void setLeaderName(String leadername){
		LeaderName = leadername;
	}
	/**
	 * 获取LeaderName
	 * @return 领导名称
	 */
	public String getLeaderName(){
		return LeaderName;
	}

	/**
	 * 设置管理者ID
	 * @param managerid
	 */
	public void setManagerID(String managerid){
		ManagerID = managerid;
	}
	/**
	 * 获取ManagerID
	 * @return 管理者ID
	 */
	public String getManagerID(){
		return ManagerID;
	}

	/**
	 * 设置管理者名称
	 * @param managername
	 */
	public void setManagerName(String managername){
		ManagerName = managername;
	}
	/**
	 * 获取ManagerName
	 * @return 管理者名称
	 */
	public String getManagerName(){
		return ManagerName;
	}

	/**
	 * 设置分管领导ID
	 * @param inchargeleaderid
	 */
	public void setInChargeLeaderID(String inchargeleaderid){
		InChargeLeaderID = inchargeleaderid;
	}
	/**
	 * 获取InChargeLeaderID
	 * @return 分管领导ID
	 */
	public String getInChargeLeaderID(){
		return InChargeLeaderID;
	}

	/**
	 * 设置分管领导名称
	 * @param inchargeleadername
	 */
	public void setInChargeLeaderName(String inchargeleadername){
		InChargeLeaderName = inchargeleadername;
	}
	/**
	 * 获取InChargeLeaderName
	 * @return 分管领导名称
	 */
	public String getInChargeLeaderName(){
		return InChargeLeaderName;
	}

}
